Service Locatorパターン
https://gyazo.com/b730796dbeb1a87fc14d7ebba1c39c37
状況
具体的なクラスを呼びたくない、依存したくない
パターン
サービスロケータークラスが、抽象層と具象層を仲介する
メリット
シンプル
依存性を管理できやすくなる
デメリット
依存関係が外部から見えづらくなる
テストがしにくいというデメリットがある
どこからでもサービスアクセス可能にするとシングルトンのデメリットが出てくる
サービスロケーターが初期化される前にサービスを呼び出そうとするとNULLになる